XSIApplication

Object Hierarchy

継承

SIObject

Application

XSIApplication

導入

v1.5

詳細

XSIApplication オブジェクトはApplicationから継承されます。Applicationは汎用的なプロパティとメソッドを持ちますが、XSIApplication のプロパティとメソッドは Softimage固有のものです。XSIApplication は、Softimage のアクティブなProjectSelectionオブジェクト、Softimage Commandオブジェクトなどの高度なオブジェクトへのアクセスを管理します。

XSIApplication は、Softimage アプリケーションの実行インスタンスであるネイティブオブジェクト。ネイティブ(グローバル)オブジェクトは、そのインスタンスを作成せずともコード内で名前を参照できます。このオブジェクトの名前は Application です。つまり、スクリプトの記述者は'XSIApplication'タイプの'Application'という名前のグローバル変数があると予想することができます。

ただし、NetView スクリプト内では、明示的にXSIApplicationオブジェクトのインスタンスを作成する必要があるため、このオブジェクトはネイティブとして使用することはできません。NetViewでXSIApplication オブジェクトを作成するためのスクリプト 構文については以下に例示します。

通常の(非 Netview) VBScript および JScript コードには、「アプリケーション」プリフィックスをドロップし、このオブジェクトのメソッドとプロパティを直接呼び出すことができます。たとえば、"LogMessage"の呼び出しとは、実際"Application.LogMessage"のショートフォームです。この構文上のショートカットは Pythonまたは PerlScript では使用できません。

また、XSIApplication のメソッドとして、すべての Softimage Commandを実行することもできます。これは、PythonとPerlScrip内、またはNetview内で実行するすべてのスクリプト言語でコマンドを実行する最良の方法です。

メソッド

ActivateWorkgroup AddCommand AddWorkgroup ClassName
CloseUndo CreateAddon CreateCommand CreateProject
ExecuteCommand ExecuteScript ExecuteScriptCode ExecuteScriptCommand
FindObjects2 GetCommandByScriptingName GetInstallationPath2 GetObjectFromID
GetShaderDefオペレータ InstallAddon IsClassOfオペレータ IsEqualToオペレータ
LoadPlugin LogMessage OpenUndo RegisterShaderCustomParameterTypeオペレータ
RegisterShaderFamilyオペレータ RemoveCommand RemoveWorkgroup RescanWorkgroups
UnInstallAddon UnloadPlugin UpdatePlugins Version

プロパティ

ActiveProject2 ActiveSceneRoot ActiveToolName Application
Categories Commands Desktop Devices
Dictionary EventInfos FCurveSelection Filters
FullNameオペレータ Help InstallationPath Interactive
IsUndoing License Nameオペレータ NestedObjects
Origin OriginPath Parent Platform
Plugins Preferences Renderers Selection
ShaderDefinitionsオペレータ StatusBar Typeオペレータ Workgroups

1. VBScript の例

'
'       hello world from vbscript
'
Application.LogMessage "Hello Softimage world"
'In vbscript we don't need to specify 
'the Application. prefix
LogMessage "Shortcut of Hello World"

2. VBScript の例

'
' How to create an instance of the Application Object
' from VBScript for use within a NetView html page.
'
Dim oApplication
set oApplication = CreateObject("XSI.Application") 
'Use SIObject.Application to convert from Application object 
'to XSIApplication
Dim oXSIApplication
set oXSIApplication = oApplication.Application
oXSIApplication.Application.LogMessage "Hello from Netview"

3. JScript の例

/*
        hello world from jscript
*/
Application.LogMessage("Hello Softimage world");
//This shortcut is equivalent
LogMessage("Hello from ShortCut code");

4. JScript の例

/*
        How to create an instance of the Application Object
        from JScript for use within a NetView html page.
*/
var oApplication = new ActiveXObject("XSI.Application"); 
var oXSIApplication = oApplication.Application;
oXSIApplication.LogMessage( "There are " + oXSIApplication.Plugins.Count + " plugins installed" ) ;

5. Python の例

#
#       hello world from pythonscript
#
Application.LogMessage("Hello Softimage world")

6. Python の例

#Python script example, using the global Application
#object to invoke the NewScene command.
Application.NewScene( "",0 )

7. Python の例

#
#       How to create an instance of the Application Object
#       from pythonscript for use within a NetView html page.
#
# Normally you create a instance of an automation object using:
# import win32com.client;
# o=win32com.client.Dispatch('XSI.Application') 
# however win32com is not a trusted module so you get around
# this by defining a vbscript function called getXSIApp() 
# that returns the Application object.
try :
        Application = window.getXSIApp()
except :
        print("No browser")
# Note: Python is not a fully functional choice for web programming.
# We recommend writing the Python code as Softimage Custom Commands
# which are invoked using a little JScript or VBScript embedded in the
# html.

関連項目

Application